The present invention relates to automatically generating a set of event processing rules for use in a complex event processing (CEP) system.
Complex event processing (CEP) application programs are arranged to perform event-driven processes. In other words, CEP application programs are arranged to detect a predetermined set of events and to perform a set of one or more actions in response to such detection. Typically, events may be responded to and actions may be performed in accordance with predetermined time-based criteria. For example, responses to events or the performance of actions may be subject to predetermined time delays or may be specified for response or performance at a specified time. Generally, CEP application programs are used to analyse complex patterns of events and perform a predetermined set of actions in response. The sets of events detected and the associated actions are commonly defined in a set of rules, which may be referred to as CEP rules. Sets of CEP rules are also referred to as interaction sets (ISs) and the individual rules referred to as interaction blocks (IBs). CEP application programs have many applications such as monitoring of biological, manufacturing, medical, aerospace, automotive, or business systems. When CEP application programs are applied to business systems, they may be referred to as business event processing (BEP) application programs.
In CEP systems, a technical user, that is a user experienced in the information technology (IT) aspects of the CEP system, will normally define possible events that might be received by the system. The IT user will also define intermediate structures and create mappings between the events and intermediate structures. Intermediate structures define the data that business logic specified in the CEP rules is permitted to operate on. The business logic is commonly provided by a less technical user, that is, a user experienced in the domain of application of the particular CEP system. Thus, once the IT user has defined the mappings, the non-technical user can create CEP rules embodying the necessary logic to process events when they are received by the system. However, in even a relatively simple CEP system, the non-technical user attempting to define CEP rules is likely to be presented with a large number of choices of available functions or fields, of which only a few may be required or relevant.